/*
 * ${tableModel.tableName2Pascal}.java 
 * Copyright(c) 2015 Treebear
 * ALL Rights Reserved.
 */
package ${packname}.entity;

import com.fsnip.common.tools.utils.EntityHelp;

import java.io.Serializable;
import java.util.Date;
import java.sql.Timestamp;
/**
 * 类${tableModel.domainName}的实现描述：${tableModel.tableChineseName}
 * 
 * @author ${author} 2015-07-27 19:36:00
 */
public class ${tableModel.domainName} implements Serializable{
    <#list tableModel.columnList as columnModel>
    // ${columnModel.columnChineseName}
    private ${columnModel.columnType} ${columnModel.columnName2Camel};
    
    </#list>
    <#list tableModel.columnList as columnModel>
    public void set${columnModel.columnName2Pascal}(${columnModel.columnType} ${columnModel.columnName2Camel}) {
        this.${columnModel.columnName2Camel} = ${columnModel.columnName2Camel};
    }
    
    public ${columnModel.columnType} get${columnModel.columnName2Pascal}() {
        return this.${columnModel.columnName2Camel};
    }
    </#list>
    
    /**
	 * override method 'toString'
	 * 
	 * @return String 字符串表示
	 */
	public String toString() {
	    return super.toString() + ":" + EntityHelp.voToString(this);
	}
    
    /**
	 * override method 'equals'
	 * 
	 * @param other 与本对象比较的其它对象
	 * @return boolean 两个对象的各个属性是否都相等
	 */
    public boolean equals(Object other) {
        return EntityHelp.voEquals(this, other);
    }

	/**
	 * override method 'hashCode'
	 * 
	 * @return int Hash码
	 */
	public int hashCode() {
	    return EntityHelp.voHashCode(this);
	}
	
	/**
	 * override method 'clone'
	 *
	 * @see Object#clone()
	 * @return Object 克隆后对象
	 */
	public Object clone() {
	    return EntityHelp.voClone(this);
    }

}